package com.hz.erp.utils;

import org.apache.commons.codec.digest.DigestUtils;

/**
 * @author 柯鑫
 * @ClassName com.hz.erp.utils.Md5Util
 * @description MD5加密解密工具类
 * @create 2020年06月04日 19:31
 */
public class Md5Util {

    // 生成使用盐的 MD5 密文
    private final static String PWD_SLAT = "HZ-DATA";

    /**
     *根据传入的密钥+盐进行验证
     * @param pwd
     * @return
     */
    public static String md5Sale(String pwd) {
        return DigestUtils.md5Hex(pwd + PWD_SLAT);
    }

    /**
     * 根据传入的密钥进行验证
     * @param pwd
     * @return
     */
    public static String md5(String pwd) {
        return DigestUtils.md5Hex(pwd).toUpperCase();
    }


    /**
     * 根据传入的密钥+盐进行验证
     * @param pwd 前台传入的密码
     * @param dataMd5 后台传入的密码
     * @return
     */
    public static boolean verifySaleMD5(String pwd, String dataMd5) {
        String paramMD5 = md5Sale(pwd);

        if (paramMD5.equalsIgnoreCase(dataMd5)) {
            return true;
        }
        return false;
    }


    /**
     * 根据传入的密钥进行验证
     * @param pwd 前台传入的密码
     * @param dataMd5 后台传入的密码
     * @return
     */
    public static boolean verifyMD5(String pwd, String dataMd5) {
        String paramMD5 = md5(pwd);

        if (paramMD5.equalsIgnoreCase(dataMd5)) {
            return true;
        }
        return false;
    }



}
